草庐IT

java - 非数据库应用事务

全部标签

ruby-on-rails - 如何像调试 Rails 应用程序一样调试 Sinatra 应用程序?

在我的主SinatraController中,我想在从表单发布后调试参数散列。我已经添加了:putsparams.inspect和set:logging,:true如果一切顺利,params.inspect会起作用。但是,如果在执行Controller之前发生错误,我不会像默认情况下在Rails中那样获得有关错误的任何信息。获取有用调试信息的最佳方式是什么?Thisexample根本不起作用(在我添加此代码后应用程序甚至无法启动):configuredoLog=Logger.new("sinatra.log")Log.level=Logger::INFOend其次是:Log.info"

ruby - 调用/应用 lambda 与函数调用 - Ruby 中的语法不同。为什么?

我对Ruby有点陌生,仍在努力理解一些语言设计原则。如果我做对了,Ruby中的lambda表达式调用必须使用方括号,而“常规”函数调用则使用“常规”/圆括号。语法不同是不是有什么特殊原因?或者,换句话说,(为什么)调用者应该知道他们是调用函数还是应用lambda表达式? 最佳答案 常规的Ruby方法调用使用()而不是用于block的花括号。如果您不喜欢[]来调用lambda,您始终可以使用call方法。例子:>>by_two=lambda{|x|x*2}#=>#>>by_two[5]#=>10>>by_two.call(5)#=>1

ruby-on-rails - 如何查看我的 heroku 数据库的记录?

我刚刚将我的应用程序部署到heroku,并将我的自定义域指向heroku服务器。如何查看我的heroku数据库中的记录? 最佳答案 您可以使用herokurunrailsconsole并使用Model.all或任何其他方法查看您的记录。如果你想备份数据库看herokuPGbackups,然后您可以将数据库导入本地计算机并在那里查看。根据您的数据库适配器,您可以使用sqlitebrowser对于sqlite3或phpmyadmin用于MySQL。 关于ruby-on-rails-如何查看我

ruby-on-rails - 如何从 Ruby on Rails 应用程序返回正确的 HTTP 错误代码

我有RoR3.0网络应用程序,它充当OAuthAPI提供程序。现在,在API中,我想向API使用者返回正确的HTTP错误代码。我该怎么做?例子如下:defdestroy_oauth@item=Item.find(params[:id])if(!@item.nil?&&@item.user_id==current_user.id)@item.destroyrespond_todo|format|format.jsformat.xmlendelseraiseActionController::RoutingError.new('Forbidden')endend因此,如果出现错误,我会尝试

ruby-on-rails - Rails 3. 创建生产数据库

如何在Rails3中创建生产数据库并向其加载架构?我尝试了以下方法...我.rakedb:createRails.env='production'&&rakedb:schema:loadRails.env='production'二.#config/environment.rb#SettherailsenvironmentRails.env='production'rakedb:create&&rakedb:schema:load...但它们都不起作用。谢谢。DebianGNU/Linux5.0.6;rails3.0.0;SQLite33.7.2. 最佳答案

ruby - 在 Ruby 中,您可以对从文件中读取的数据执行字符串插值吗?

在Ruby中,您可以在字符串中引用变量,并在运行时对它们进行插值。例如,如果您声明一个变量foo等于"Ted"并声明一个字符串"Hello,#{foo}"它插入到"Hello,Ted"。我一直无法弄清楚如何对从文件读取的数据执行神奇的"#{}"插值。在伪代码中它可能看起来像这样:interpolated_string=File.new('myfile.txt').read.interpolate但是最后一个interpolate方法不存在。 最佳答案 我认为这可能是在Ruby1.9.x中执行您想要的操作的最简单和最安全的方法(spr

ruby-on-rails - Rails 应用程序:Solr 抛出 RSolr::Error::Http - 执行搜索时未找到 404

非常迷茫,因为我没有对我的搜索进行任何更改,该搜索一直有效,但不知何故我休息了。作为Rails的新手,错误输出没有给我足够的细节来进行调试。下面的相关代码-询问您是否还想查看其他内容。home.html.slim(带有搜索表单的摘录)=form_tagsearch_venues_path,method::get,id:'search'do|f|.search-fields.span16p=text_field_tag:q,'',placeholder:"Searchforcoffee,hotel,etc",class:'span7search-field'p=text_field_ta

ruby-on-rails - Rails Migrations 可以用来转换数据吗?

我正在尝试转换我的Rails应用程序中的列,为了论证,让我们假设我正在尝试将我的users表中的age列更改为字符串表示形式而不是int。在我的迁移中我有这个;def.selfupadd_column:users,:age_text,:stringusers=User.find(:all)users.eachdo|u|u.age_text=convert_to_text(u.age)u.saveendenddefself.convert_to_text(number)#codeheretoconvert1to'one'etcend但它似乎没有用,我在这里尝试的是否可以通过迁移实现?

ruby - 使用 Sinatra 时与数据库对话的最佳方式是什么?

据我了解,与Rails不同,Sinatra框架不提供ORM。在那种情况下,您如何与Sinatra应用程序中的数据库对话?还是Sinatra仅适用于不使用数据库的应用程序? 最佳答案 如果您使用的是Sinatra,我不推荐DataMapper足够高。我有几个Rails应用程序,其中我坚持使用ActiveRecord,并且我一直在诅咒它的缺点和设计缺陷。如果您使用Sinatra,DataMapper是一个非常实用的选择。require"rubygems"require"sinatra"require"datamapper"DataMap

ruby - 如何增加 ruby​​ 应用程序的堆栈大小。递归应用获取 : Stack level too deep (SystemStackError)

在stackoverflow.com上发布一个堆栈溢出问题,多么有趣:-)我正在运行一些递归Ruby代码,我得到:“堆栈级别太深(SystemStackError)”(我很确定代码有效,我没有陷入无限递归的死亡螺旋,但这不是重点)是否可以更改我的Ruby应用程序允许的堆栈深度/大小?如果这是Ruby中的限制,我不太明白,因为错误显示“堆栈级别”,这给我的印象是Ruby以某种方式计算堆栈的“级别”,或者它只是意味着堆栈满了。我已经尝试在Vista和Ubuntu下运行这个程序,结果相同。在Ubuntu下,我尝试使用“ulimit-s”将堆栈大小从8192更改为16000,但这并没有改变任何